package com.brillilab.domain.po.user;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.extension.activerecord.Model;

import java.io.Serializable;
import java.util.Date;

/**
 * <p>
 * 用户邀请审核表
 * </p>
 *
 * @author zlb
 * @since 2019-06-26
 */
@TableName("user_invite_audit")
public class UserInviteAudit extends Model<UserInviteAudit> {

    private static final long serialVersionUID = 1L;

    @TableId(value = "id", type = IdType.AUTO)
    private Long id;
    /**
     * 邀请类型（1邀请PI，2邀请普通成员，3成员主动申请）
     */
    @TableField("invite_type")
    private Integer inviteType;
    /**
     * 实验室ID
     */
    @TableField("lab_id")
    private Long labId;
    /**
     * 邀请人用户Id
     */
    @TableField("invite_user")
    private Long inviteUser;
    /**
     * 审核状态 (0待审核 1审核通过 2审核未通过 3待验证 4待PI审核)
     */
    private Integer state;
    /**
     * 手机号
     */
    private String mobile;
    /**
     * 邮箱
     */
    private String email;
    /**
     * 实验室名称
     */
    @TableField("lab_name")
    private String labName;
    /**
     * 真实姓名
     */
    @TableField("real_name")
    private String realName;
    /**
     * 职务
     */
    private Integer duty;
    /**
     * 密码
     */
    private String password;
    /**
     * 数据密码
     */
    @TableField("security_pwd")
    private String securityPwd;
    /**
     * 职务年限
     */
    @TableField("duty_year")
    private Integer dutyYear;
    /**
     * 入职时间
     */
    @TableField("entry_time")
    private Date entryTime;
    /**
     * 机构邮箱
     */
    @TableField("org_email")
    private String orgEmail;
    /**
     * 证件照
     */
    @TableField("card_img")
    private String cardImg;
    /**
     * 邀请码
     */
    private String inviteCode;
    /**
     * 证件号
     */
    @TableField("certificate_no")
    private String certificateNo;
    /**
     * 审核时间
     */
    @TableField("audit_time")
    private Date auditTime;
    /**
     * 审核信息
     */
    @TableField("audit_info")
    private String auditInfo;
    /**
     * 创建时间
     */
    @TableField("create_time")
    private Date createTime;
    /**
     * 修改时间
     */
    @TableField("update_time")
    private Date updateTime;
    /**
     * 审核人
     */
    @TableField("operator")
    private Integer operator;


    /**
     * 邀请状态（0邀请中，1已提交申请，2邀请成功，3邀请失败）
     */
    @TableField("invite_State")
    private Integer inviteState;

    /**
     * 机构ID
     */
    @TableField("org_id")
    private Long orgId;

    /**
     * 机构名称
     */
    @TableField("org_name")
    private String orgName;

    /**
     * 二级机构名称
     */
    @TableField("sec_org_name")
    private String secOrgName;


    public Long getId() {
        return id;
    }

    public void setId(Long id) {
        this.id = id;
    }

    public Integer getInviteType() {
        return inviteType;
    }

    public void setInviteType(Integer inviteType) {
        this.inviteType = inviteType;
    }

    public Long getLabId() {
        return labId;
    }

    public void setLabId(Long labId) {
        this.labId = labId;
    }

    public Long getInviteUser() {
        return inviteUser;
    }

    public void setInviteUser(Long inviteUser) {
        this.inviteUser = inviteUser;
    }

    public Integer getState() {
        return state;
    }

    public void setState(Integer state) {
        this.state = state;
    }

    public String getMobile() {
        return mobile;
    }

    public void setMobile(String mobile) {
        this.mobile = mobile;
    }

    public String getEmail() {
        return email;
    }

    public void setEmail(String email) {
        this.email = email;
    }

    public String getLabName() {
        return labName;
    }

    public void setLabName(String labName) {
        this.labName = labName;
    }

    public String getRealName() {
        return realName;
    }

    public void setRealName(String realName) {
        this.realName = realName;
    }

    public Integer getDuty() {
        return duty;
    }

    public void setDuty(Integer duty) {
        this.duty = duty;
    }

    public String getPassword() {
        return password;
    }

    public void setPassword(String password) {
        this.password = password;
    }

    public String getSecurityPwd() {
        return securityPwd;
    }

    public void setSecurityPwd(String securityPwd) {
        this.securityPwd = securityPwd;
    }

    public Integer getDutyYear() {
        return dutyYear;
    }

    public void setDutyYear(Integer dutyYear) {
        this.dutyYear = dutyYear;
    }

    public Date getEntryTime() {
        return entryTime;
    }

    public void setEntryTime(Date entryTime) {
        this.entryTime = entryTime;
    }

    public String getOrgEmail() {
        return orgEmail;
    }

    public void setOrgEmail(String orgEmail) {
        this.orgEmail = orgEmail;
    }

    public String getCardImg() {
        return cardImg;
    }

    public void setCardImg(String cardImg) {
        this.cardImg = cardImg;
    }

    public String getInviteCode() {
        return inviteCode;
    }

    public void setInviteCode(String inviteCode) {
        this.inviteCode = inviteCode;
    }

    public String getCertificateNo() {
        return certificateNo;
    }

    public void setCertificateNo(String certificateNo) {
        this.certificateNo = certificateNo;
    }

    public Date getAuditTime() {
        return auditTime;
    }

    public void setAuditTime(Date auditTime) {
        this.auditTime = auditTime;
    }

    public String getAuditInfo() {
        return auditInfo;
    }

    public void setAuditInfo(String auditInfo) {
        this.auditInfo = auditInfo;
    }

    public Date getCreateTime() {
        return createTime;
    }

    public void setCreateTime(Date createTime) {
        this.createTime = createTime;
    }

    public Date getUpdateTime() {
        return updateTime;
    }

    public void setUpdateTime(Date updateTime) {
        this.updateTime = updateTime;
    }

    public Long getOrgId() {
        return orgId;
    }

    public void setOrgId(Long orgId) {
        this.orgId = orgId;
    }

    public String getOrgName() {
        return orgName;
    }

    public void setOrgName(String orgName) {
        this.orgName = orgName;
    }

    public String getSecOrgName() {
        return secOrgName;
    }

    public void setSecOrgName(String secOrgName) {
        this.secOrgName = secOrgName;
    }

    @Override
    public String toString() {
        return "UserInviteAudit{" +
                "id=" + id +
                ", inviteType=" + inviteType +
                ", labId=" + labId +
                ", inviteUser=" + inviteUser +
                ", state=" + state +
                ", mobile='" + mobile + '\'' +
                ", email='" + email + '\'' +
                ", labName='" + labName + '\'' +
                ", realName='" + realName + '\'' +
                ", duty=" + duty +
                ", password='" + password + '\'' +
                ", securityPwd='" + securityPwd + '\'' +
                ", dutyYear=" + dutyYear +
                ", entryTime=" + entryTime +
                ", orgEmail='" + orgEmail + '\'' +
                ", cardImg='" + cardImg + '\'' +
                ", inviteCode='" + inviteCode + '\'' +
                ", certificateNo='" + certificateNo + '\'' +
                ", auditTime=" + auditTime +
                ", auditInfo='" + auditInfo + '\'' +
                ", createTime=" + createTime +
                ", updateTime=" + updateTime +
                ", operator=" + operator +
                ", inviteState=" + inviteState +
                ", orgId=" + orgId +
                ", orgName='" + orgName + '\'' +
                ", secOrgName='" + secOrgName + '\'' +
                '}';
    }

    public Integer getOperator() {
        return operator;
    }

    public void setOperator(Integer operator) {
        this.operator = operator;
    }

    public Integer getInviteState() {
        return inviteState;
    }

    public void setInviteState(Integer inviteState) {
        this.inviteState = inviteState;
    }


    @Override
    protected Serializable pkVal() {
        return this.id;
    }

}
